1. Field of the Invention
The present invention relates to computer networking and communication, including Web-based communications and commerce.
2. Background Art
The World Wide Web is increasingly becoming the Internet technology relied upon for conducting electronic commerce and communication. The World Wide Web, also called the Web or WWW, has three basic parts: client software, servers and content. Client software runs on a user's computer and, among other things, provides the graphical user-interface through which a user can “browse” or “surf” the Web. Servers (also called Web servers) are computers that provide the content to users through a communication link. Content can be any kind of multi-media, e.g., images, text, animation, motion video, sound, and Java applets.
Communication between a browser and a server is carried out through Hyper Text Transfer Protocol (HTTP), Hyper Text Transfer Protocol-Secure (HTTPS) or other Web-compatible protocol. Web content is primarily transferred in Web documents or files, called Web pages, which are addressed by a Uniform Resource Locator (URL). Web pages are often multi-media hypertext documents written in a HyperText Markup Language (HTML) which supports hyper-linking. Data entry in Web pages allows users to make selections and fill-out template or profiles to facilitate user input. For example, scripts are often ran on servers through a Common Gateway Interface (CGI) to implement data entry. Programming languages, such as, Java, are also being extended to support data entry on the Web.
These parts are well-suited for electronic communication and commerce between remote users. Indeed, the popularity and use of the Internet and World Wide Web has increased dramatically. The number of Web sites and Web pages continues to grow. As the Internet has experienced explosive growth, the amount of information available has reached staggering proportions. But, this seemingly endless excess of information creates one of the most challenging issues on the Internet today. Put simply, the ability to intelligently and reliably connect users to ‘just the right information’, represents a continuing challenge, and a huge opportunity.
There is currently a wide selection of web-based ‘search engines’ to search this information (AltaVista, Excite, InfoSeek, AskJeeves, Northern Light, Google, etc.). Search engines use different ways to try to find information most relevant to user's search query. For example, index-based search engines index Internet documents to facilitate searching. The ever-growing amount makes it difficult to index Internet content. Indeed, some estimate only 15%-20% of Internet information or data is indexed at present. This approach can also be overly literal and can fail to take into account words having a similar meaning to words of a search query. Concept-based search engines rely on a taxonomy (also called a tree) to facilitate searching data but are also limited in their ability to deliver the “right information” sought by a user.
For instance, general-purpose navigational search engines (including index type or concept type search engines) are designed to search the entire Internet, that is, they are meant to help people navigate to locations on the Internet that may contain relevant information. They are not easily used to search subsets of coherent data such as a database of independent contractors and their skill sets. Such search engines generally do not leverage knowledge about data in a database to facilitate search query formulation. Knowledge about data in a database is further not leveraged interactively with a user to facilitate and focus a search in real-time.
Many search engines include some level of search ‘intelligence’. The ‘intelligence’ of intelligent search engines is primarily in the form of natural language algorithms that are used to interpret a question posed by the user. For example, when using AltaVista to pose a search query “How can I find independent contractors that know SQL?” the question is actually interpreted as “find independent contractors know sql”. The 20 or more pages of results returned are of two primary forms: 1) Accounting, legal and self-help sites that discuss “hiring contractors”, and 2) “finding home improvement contractors”—obviously not a useful result set for a focused search. All of the current search engines return similar results. In addition, once a result set is returned, a user is left alone to formulate additional search queries.
For most people, understanding how to use today's search engines effectively is a non-trivial endeavor. Even with natural language intelligence, and Boolean search criteria (AND, OR, NOT, etc.), the mechanics of developing an effective question to pose to a search engine is at best daunting for most users, and at worst simply beyond their ability. For example, if we were to ask the majority of non-technical users what the term ‘Boolean’ means, we'd get a very clear idea of why today's search engines have along way to go towards reaching a goal of connecting users with ‘just the right information’—most users don't know what a Boolean expression is or how to use one. The fact is that users need help in determining how to form their questions, and they need to understand how the formation of the question can affect the results.
Some search engines provide an indication of how many total hits or records are associated with a search parameter. For example, FIGS. 10A and 10B show an example screen shot from a realty search engine hosted by Seaside realty (downloaded Apr. 13, 2000). The search engine displays the total number of records associated with each particular “Amenities” search parameter. In this way, a user knows for example that selecting a non-smoking parameter in a search will yield at most 31 records or “hits” while selecting a Hot Tub amenity will yield at most 68 records. This information is helpful, but limited. Users typically wish to formulate queries involving multiple search parameters and/or Boolean parameters. This indication is also based on the total records not the results of an actual search. This display of total records is predetermined for all searchers and search queries, and is not generated adaptively in response to a specific user query. Such predetermined displays put an additional burden on users who must read each search parameter including irrelevant parameters and guess how their search might be impacted.
In sum, problems exist in finding the right information sought by users on the Internet. Most search engines are meant to search the entire Internet—they cannot easily be coerced into searching subsets of related data in intelligent ways. Natural language and Boolean operators are useful, but they are not actually helpful to most non-technical users—users need help in forming their questions. A result set that is typically returned from a natural language search is rarely fully relevant. When a result set is returned by today's search engines, help is not provided to either narrow or broaden the search effectively based on actual search results.
What is needed is a system that can understand what users are looking for, understand the data in a database, and present immediately useful suggestions for finding the right information. Helpful choices or pointers need to be presented to enable a user to further narrow or broaden a search intelligently.